package cs.android;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import cs.android.viewbase.ActivityViewBase.ActivityResult;
import cs.android.viewbase.ViewPresenter;
import cs.java.event.Event;
import cs.java.lang.Value;

public interface ActivityView extends HasActivity, ViewPresenter {
	View asView();

	void deinitialize(Bundle state);

	Activity getActivity();

	Context getContext();

	Event<ActivityResult> getOnActivityResult();

	Event<Value<Boolean>> getOnBack();

	Event<Bundle> getOnCreate();

	Event<Void> getOnDestroy();

	Event<Void> getOnPause();

	Event<Void> getOnResume();

	Event<Bundle> getOnSaveInstance();

	Event<Void> getOnStart();

	Event<Void> getOnStop();

	void initialize(Bundle state);

	boolean isPaused();

	boolean isResumed();
}
